1
文字基礎:字元與字串在 Julia 中的差異
AI015Lesson 5
00:00

在 Julia 中,文字是透過兩個截然不同的架構實體來處理: 32 位元的字元(Char) 基本類型,以及不可變的 UTF-8 編碼的字串(String)。與其他語言中字元即為長度為一的字串不同,Julia 將 字元(Char) 視為一個代表 Unicode 碼點的一等數值類型。

1. 類型層次結構與記憶體

具體的 字元(Char) 是一個 $32$ 位元的基本類型(子類型為 AbstractChar)。內建的 字串(String) (子類型為 AbstractString)支援完整的 Unicode 範圍。雖然一個 字元(Char) 是固定大小, 字串(String) 而字串則是可變寬度;單個字元佔用 1 到 4 個位元組,ASCII 的轉換點出現在 $0x80(128)$ 處。

2. 運算與比較

由於 字元(Char) 代表一個數值碼點,因此可以進行運算。使用 Int('a') 可取得 97,而使用 Char(97) 可取得 'a'。支援字典序比較: 'X' < 'x' 為真,因為在 Unicode 中大寫字母排在小寫字母之前。

功能字元('a'字串("a"
類型字元(Char)字串(String)
大小固定 $32$ 位元可變寬度的 UTF-8
可變動性不適用(值類型)否(不可變)

'A' <= 'X' <= 'Y' 會評估為 truefalse 根據 Unicode 序列決定。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>